package org.lboot.jpa.converter;

import cn.hutool.core.lang.Validator;
import cn.hutool.json.JSONUtil;

import jakarta.persistence.*;
import java.util.ArrayList;
import java.util.List;


@Converter
public class JpaListLongConverter implements AttributeConverter<List<Long>,String> {

    @Override
    public String convertToDatabaseColumn(List<Long> o) {
        // BUG FIX 2021-11-29 空值转化
        if(Validator.isEmpty(o)){
            List<Long> t = new ArrayList<>();
            return JSONUtil.toJsonStr(o);
        }
        return JSONUtil.toJsonStr(o);
    }

    @Override
    public List<Long> convertToEntityAttribute(String s) {
        // BUG FIX 2021-11-29 空值转化
        if(Validator.isEmpty(s)){
            return new ArrayList<Long>();
        }
        return JSONUtil.toList(s,Long.class);
    }

}